@echo off
echo ========================================
echo 微服务端到端测试
echo ========================================

echo 1. 检查服务状态...
docker-compose ps

echo.
echo 2. 测试服务健康检查...
echo.

echo 测试API网关...
curl -f http://localhost:8080/actuator/health 2>nul
if errorlevel 1 (
    echo ❌ API网关健康检查失败
) else (
    echo ✅ API网关健康检查通过
)

echo 测试用户管理服务...
curl -f http://localhost:8082/actuator/health 2>nul
if errorlevel 1 (
    echo ❌ 用户管理服务健康检查失败
) else (
    echo ✅ 用户管理服务健康检查通过
)

echo 测试课程管理服务...
curl -f http://localhost:8083/actuator/health 2>nul
if errorlevel 1 (
    echo ❌ 课程管理服务健康检查失败
) else (
    echo ✅ 课程管理服务健康检查通过
)

echo 测试练习管理服务...
curl -f http://localhost:8085/actuator/health 2>nul
if errorlevel 1 (
    echo ❌ 练习管理服务健康检查失败
) else (
    echo ✅ 练习管理服务健康检查通过
)

echo 测试学习进度服务...
curl -f http://localhost:8084/actuator/health 2>nul
if errorlevel 1 (
    echo ❌ 学习进度服务健康检查失败
) else (
    echo ✅ 学习进度服务健康检查通过
)

echo.
echo 3. 测试数据库连接...
echo 请手动执行: mysql -h localhost -P 3307 -u root -p
echo 密码: root123

echo.
echo 4. 测试API端点...
echo.

echo 测试用户注册API...
curl -X POST http://localhost:8080/api/users/register -H "Content-Type: application/json" -d "{\"username\":\"testuser\",\"password\":\"testpass\",\"email\":\"test@example.com\"}" 2>nul

echo.
echo 测试课程列表API...
curl http://localhost:8080/api/courses 2>nul

echo.
echo ========================================
echo 端到端测试完成！
echo ========================================

echo 🌟 服务访问地址:
echo - Consul管理界面: http://localhost:8500
echo - API网关: http://localhost:8080
echo - 用户管理服务: http://localhost:8082
echo - 课程管理服务: http://localhost:8083
echo - 练习管理服务: http://localhost:8085
echo - 学习进度服务: http://localhost:8084
echo - MySQL数据库: localhost:3307
echo.

echo 📋 下一步操作:
echo 1. 访问 http://localhost:8500 查看服务注册状态
echo 2. 启动前端应用 (如果有)
echo 3. 进行功能测试
echo.

pause
